package com.netintech.project.system.meeting.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.netintech.core.aspectj.lang.annotation.Excel;
import com.netintech.core.web.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 会议申请对象 meeting_application
 *
 * @author admin
 * createTime 2020-09-18
 * lastModify admin
 * lastModifyTime 2020-09-18
 * group 电子政务小组
 */
public class MeetingApplication extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 申请人 */
    @Excel(name = "申请人")
    private Long applicant;

    private String applicantName;

    /** 申请人部门 */
    @Excel(name = "申请人部门")
    private Long applicantDepartmentId;

    private String applicantDepartmentName;

    /** 申请日期 */
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate applicationDate;

    /** 申请日期(第二个) */
    @Excel(name = "申请日期(第二个)", width = 30, dateFormat = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate applicationDateSecond;

    /** 会议开始时间 */
    @Excel(name = "会议开始时间", width = 30, dateFormat = "HH:mm")
    @DateTimeFormat(pattern = "HH:mm")
    private LocalTime startTime;

    /** 会议结束时间 */
    @Excel(name = "会议结束时间", width = 30, dateFormat = "HH:mm")
    @DateTimeFormat(pattern = "HH:mm")
    private LocalTime endTime;

    /** 会议室编码 */
    @Excel(name = "会议室编码")
    private String meetingRoom;

    /** 会议室名称 */
    private String meetingRoomName;

    /** 会议主题 */
    @Excel(name = "会议主题")
    private String meetingTheme;

    /** 参会人员 */
    @Excel(name = "参会人员")
    private String attendee;

    /** 状态：1:未审批，2:已审批 */
    @Excel(name = "状态：1:未审批，2:已审批")
    private Long status;

    /** 删除时间 */
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime deleteTime;

    /** 删除人 */
    @Excel(name = "删除人")
    private Long deleter;

    /** 是否有效 */
    @Excel(name = "是否有效")
    private Boolean isVaild;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setApplicant(Long applicant)
    {
        this.applicant = applicant;
    }

    public Long getApplicant()
    {
        return applicant;
    }


    public Boolean getVaild() {
        return isVaild;
    }

    public void setVaild(Boolean vaild) {
        isVaild = vaild;
    }

    public Long getApplicantDepartmentId() {
        return applicantDepartmentId;
    }

    public void setApplicantDepartmentId(Long applicantDepartmentId) {
        this.applicantDepartmentId = applicantDepartmentId;
    }

    public LocalDate getApplicationDate() {
        return applicationDate;
    }

    public void setApplicationDate(LocalDate applicationDate) {
        this.applicationDate = applicationDate;
    }

    public String getMeetingRoom() {
        return meetingRoom;
    }

    public void setMeetingRoom(String meetingRoom) {
        this.meetingRoom = meetingRoom;
    }

    public String getMeetingTheme() {
        return meetingTheme;
    }

    public void setMeetingTheme(String meetingTheme) {
        this.meetingTheme = meetingTheme;
    }

    public void setDeleteTime(LocalDateTime deleteTime) {
        this.deleteTime = deleteTime;
    }

    public void setAttendee(String attendee)
    {
        this.attendee = attendee;
    }

    public String getAttendee()
    {
        return attendee;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }

    public void setDeleter(Long deleter)
    {
        this.deleter = deleter;
    }

    public Long getDeleter()
    {
        return deleter;
    }

    public LocalDateTime getDeleteTime() {
        return deleteTime;
    }

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public LocalDate getApplicationdate() {
        return applicationDate;
    }

    public void setApplicationdate(LocalDate applicationDate) {
        this.applicationDate = applicationDate;
    }

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public LocalDate getApplicationDateSecond() {
        return applicationDateSecond;
    }

    public void setApplicationDateSecond(LocalDate applicationDateSecond) {
        this.applicationDateSecond = applicationDateSecond;
    }

    @JsonFormat(pattern = "HH:mm")
    public LocalTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalTime startTime) {
        this.startTime = startTime;
    }

    @JsonFormat(pattern = "HH:mm")
    public LocalTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalTime endTime) {
        this.endTime = endTime;
    }

    public String getMeetingRoomName() {
        return meetingRoomName;
    }

    public void setMeetingRoomName(String meetingRoomName) {
        this.meetingRoomName = meetingRoomName;
    }

    public String getApplicantName() {
        return applicantName;
    }

    public void setApplicantName(String applicantName) {
        this.applicantName = applicantName;
    }

    public String getApplicantDepartmentName() {
        return applicantDepartmentName;
    }

    public void setApplicantDepartmentName(String applicantDepartmentName) {
        this.applicantDepartmentName = applicantDepartmentName;
    }

    @Override
    public String toString() {
        return "MeetingApplication{" +
                "id=" + id +
                ", applicant=" + applicant +
                ", applicantDepartmentId=" + applicantDepartmentId +
                ", applicationDate=" + applicationDate +
                ", applicationDateSecond=" + applicationDateSecond +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", meetingRoom='" + meetingRoom + '\'' +
                ", meetingTheme='" + meetingTheme + '\'' +
                ", attendee='" + attendee + '\'' +
                ", status=" + status +
                ", deleteTime=" + deleteTime +
                ", deleter=" + deleter +
                ", isVaild=" + isVaild +
                '}';
    }
}
